package GameLife;

import java.util.ArrayList;
import java.util.Collections;

public class Plateau {
	private ArrayList<Coord> jeu = new ArrayList<Coord>();
	private ArrayList<Integer> vie = new ArrayList<Integer>();  // J'ai rajouté ce qui était sur FB par Marco.
	private ArrayList<Integer> mort = new ArrayList<Integer>();

	public void regles_normales(){
	vie.add(3);
	mort.add(2);
	mort.add(3);
	}
	public void ajout_vie(int x){
	vie.add(x);
	}
	public void ajout_mort(int x){
	mort.add(x);
	}
	
	
	public ArrayList<Integer> getVie() {
		return vie;
	}
	public void setVie(ArrayList<Integer> vie) {
		this.vie = vie;
	}
	public ArrayList<Integer> getMort() {
		return mort;
	}
	public void setMort(ArrayList<Integer> mort) {
		this.mort = mort;
	}
	
	public void ajout(int x, int y) {
		Coord c = new Coord(x, y);
		if (jeu.contains(c)) {
			System.out.println("case deja rempli !!");
		} else {
			jeu.add(c);
			Collections.sort(jeu, Collections.reverseOrder());
		}
	}

	public ArrayList<Coord> getJeu() {
		return jeu;
	}

	public void setJeu(ArrayList<Coord> jeu) {
		this.jeu = jeu;
	}

	public void affichage() {
		int maxX = jeu.get(0).posX;
		int minX = jeu.get(0).posX;
		int taille = jeu.size();
		for (int i = 0; i < taille; i++) {
			System.out.println(jeu.get(i));
		}
		for (int i = 0; i < taille; i++) {
			if (jeu.get(i).posX > maxX) {
				maxX = jeu.get(i).posX;
			}
			if (jeu.get(i).posX < minX) {
				minX = jeu.get(i).posX;
			}
		}
		int minY = jeu.get(taille - 1).posY;
		int maxY = jeu.get(0).posY;

		System.out.println("Le plus grand X est : " + maxX);
		System.out.println("Le plus petit X est : " + minX);
		System.out.println("Le plus grand Y est : " + maxY);
		System.out.println("Le plus petit Y est : " + minY);
		int sauv;
		int sauvY = maxY;
		for (int i = 0; i < taille; i++) {
			sauv = jeu.get(i).posX;
			if (jeu.get(i).posY == maxY) {
				if (sauv == minX) {
					System.out.print("*");
				} else {
					for (int j = 1; j < (-(minX - jeu.get(i).posX)); j++) {
						System.out.print(" ");
						sauv = jeu.get(i).posX;
					}
					System.out.print("*");
				}
			}
			else{
				for(int j = 1; j < (sauvY-jeu.get(i).posY); j++){
					System.out.println();
				}
				sauvY = jeu.get(i).posY;
				if (sauv == minX) {
					System.out.print("*");
				} else {
					for (int j = 1; j < (-(minX - jeu.get(i).posX)); j++) {
						System.out.print(" ");
						sauv = jeu.get(i).posX;
					}
					System.out.print("*");
				}
			}
		}
	}
}
